Slides from my session at ACCU 2011 about why actor model, dataflow model, and CSP are the right architectures for applications development -- and shared-memory multi-threading is just infrastructure.
Java Tech & Tools | Just Keep Passing the Message | Russel WinderJAX London
2011-11-01 | 04:20 PM - 05:10 PM
With the increasing ubiquity of multicore and hence parallel systems people are needing better ways of structuring applications than using shared-memory multi-threading. In this session we will look at actors, agents and active objects -- and their implementation in GPars. GPars is a Groovy/Java framework for managing concurrency and parallelism. It leverages all the JSR166 APIs
It's all about processes communicating - Russel WinderJAX London
Shared memory multi-threading is an operating system technique which has no place in tool and application programming. Actors, dataflows, Communicating Sequential Processes (CSP): these are the tools for application and tool construction in this increasingly multiple multicore processor world. The Java platform has some useful tools in java.util.concurrent, but it is still focused on lower-level layers of abstraction. GPars builds on these and brings actors, dataflows, CSP, agents, etc. to people working with Java and Groovy. In this session we will look at various examples of how to use these tools to easily create concurrent and parallel programs without all the fears of deadlock and livelock inherent in shared memory multi-threaded code.
Java Tech & Tools | Just Keep Passing the Message | Russel WinderJAX London
2011-11-01 | 04:20 PM - 05:10 PM
With the increasing ubiquity of multicore and hence parallel systems people are needing better ways of structuring applications than using shared-memory multi-threading. In this session we will look at actors, agents and active objects -- and their implementation in GPars. GPars is a Groovy/Java framework for managing concurrency and parallelism. It leverages all the JSR166 APIs
It's all about processes communicating - Russel WinderJAX London
Shared memory multi-threading is an operating system technique which has no place in tool and application programming. Actors, dataflows, Communicating Sequential Processes (CSP): these are the tools for application and tool construction in this increasingly multiple multicore processor world. The Java platform has some useful tools in java.util.concurrent, but it is still focused on lower-level layers of abstraction. GPars builds on these and brings actors, dataflows, CSP, agents, etc. to people working with Java and Groovy. In this session we will look at various examples of how to use these tools to easily create concurrent and parallel programs without all the fears of deadlock and livelock inherent in shared memory multi-threaded code.
ACCU 2012: Go, D, C++ and The Multicore RevolutionRussel Winder
presenting actors, dataflow, CSP, data parallelism in Go, D and C++. Used the examples from the Bazaar branch at http://www.russel.org.uk/Bazaar/Pi_Quadrature
What We are Learning About DNS Security: DNSSEC and Much More..Neustar, Inc.
Edward Lewis, Director, Member of Technical Staff at Neustar presented at the DNS Technology and Security Day”, held on Wednesday, July 27th 2011, in the “Park Saloon” of the Bogota Royal Hotel at Bogota, COLOMBIA. The context of these slides morphed into "cooperation" of internet elements, featuring government and industry relationships. During security events, when you can't determine friend or foe by looking through a wire, you need to already know who your true friends are.
Gant, the lightweight and Groovy targeted scripting frameworkSkills Matter
Russel presented these slides during a very interesting (and entertaining!) talk on GANT at the Skills Matter Groovy & Grails eXchange 2009.
Find a podcast of Russel's talk here: http://skillsmatter.com/podcast/java-jee/gant-the-lightweight-and-groovy-targeted-scripting-framework/zx-489
Behind the curtain secrets to mobile app wizardry - paul gelb razrofish sxswPaul Gelb
Behind the Curtain: Secrets of Mobile Application Wizardry
A jaw dropping 80% of iPhone and Android apps have hardly any active users. Tens of thousands of developers and hundreds of thousands of mobile applications have gotten it wrong. But mobile apps done right can provide unprecedented value to users and rapid transformations of businesses. Gilt Groupe, USAA Bank and Pandora can attribute much of their recent success to their mobile applications. The biggest barrier to success? More is absolutely less. As Mark Twain famously said, “It would have been shorter if I had more time.” With seemingly infinite options of features, ‘what’ and ‘how much’ is the hardest part of development. This presentation will provide a detailed unbridled view into the strategy and creative process of creating a compelling, successful mobile app by finding the right balance between business objectives content, design, functionality, and concept.
Cloud Back Up and Disaster Recovery with EVault and VerdeSol. VerdeSol is an authorized reseller of EVault Solutions. Contact: Terell Jones, CEO (571) 212-0260 theGreenITguy@gmail.com
Lifecycle Modeling Language Tutorial by Dr. Dam and Dr. Vaneman Elizabeth Steiner
Dr. Steve Dam and Dr. Vaneman present "A New Open Standard: Lifecycle Modeling Language (LML) a Language for Simple, Rapid Development, Operations and Support" at the Systems Engineering D.C. Conference (SEDC), April 2014.
Part 1 of a series of 3 webinars sponsored by Adobe (thank you) explaining the need to treat software users as learners in our rapidly changing informational environment. Recording of complete webinar at http://adobe.ly/WpNZQJ
My presentation at Groovy and Grails eXchange 2012. Trying to tease out various issues in the tension between dynamic and static languages on the JVM. Groovy is the only language that can be both a dynamic and a static language.
This presentation gives a brief, semi-technical introduction to Data Distribution Service (DDS) technology from the Object Management Group. The focus is on the business benefits of the technology generally, not on RTI's implementation in particular.
Speed Your Apps Launch to Market: Learn Six Best Practices for DevOpsCompuware APM
Today’s pace of business and competitive pressures are driving organizations to constantly release new applications and features. Organizations are embracing the concept of DevOps to enable apps to be designed, developed and deployed more quickly, at lower cost and with fewer problems. New technology and best practices can help propel organizations towards a successful DevOps model.
Join featured industry experts from Forrester Research Inc. and Compuware dynaTrace to learn:
• Six Steps IT Ops Can Take To Build A Tighter Relationship With Development Groups
• How to identify hidden dependencies and unforeseen risks
• Overview of current and future tools used in DevOps environments
On Concurrency and Parallelism in the JVMverseRussel Winder
Slides for my session at JAX London 2018.
Be aware I did a lot of writing over the slides during the session do the slides are not that useful. Find the video.
ACCU 2012: Go, D, C++ and The Multicore RevolutionRussel Winder
presenting actors, dataflow, CSP, data parallelism in Go, D and C++. Used the examples from the Bazaar branch at http://www.russel.org.uk/Bazaar/Pi_Quadrature
What We are Learning About DNS Security: DNSSEC and Much More..Neustar, Inc.
Edward Lewis, Director, Member of Technical Staff at Neustar presented at the DNS Technology and Security Day”, held on Wednesday, July 27th 2011, in the “Park Saloon” of the Bogota Royal Hotel at Bogota, COLOMBIA. The context of these slides morphed into "cooperation" of internet elements, featuring government and industry relationships. During security events, when you can't determine friend or foe by looking through a wire, you need to already know who your true friends are.
Gant, the lightweight and Groovy targeted scripting frameworkSkills Matter
Russel presented these slides during a very interesting (and entertaining!) talk on GANT at the Skills Matter Groovy & Grails eXchange 2009.
Find a podcast of Russel's talk here: http://skillsmatter.com/podcast/java-jee/gant-the-lightweight-and-groovy-targeted-scripting-framework/zx-489
Behind the curtain secrets to mobile app wizardry - paul gelb razrofish sxswPaul Gelb
Behind the Curtain: Secrets of Mobile Application Wizardry
A jaw dropping 80% of iPhone and Android apps have hardly any active users. Tens of thousands of developers and hundreds of thousands of mobile applications have gotten it wrong. But mobile apps done right can provide unprecedented value to users and rapid transformations of businesses. Gilt Groupe, USAA Bank and Pandora can attribute much of their recent success to their mobile applications. The biggest barrier to success? More is absolutely less. As Mark Twain famously said, “It would have been shorter if I had more time.” With seemingly infinite options of features, ‘what’ and ‘how much’ is the hardest part of development. This presentation will provide a detailed unbridled view into the strategy and creative process of creating a compelling, successful mobile app by finding the right balance between business objectives content, design, functionality, and concept.
Cloud Back Up and Disaster Recovery with EVault and VerdeSol. VerdeSol is an authorized reseller of EVault Solutions. Contact: Terell Jones, CEO (571) 212-0260 theGreenITguy@gmail.com
Lifecycle Modeling Language Tutorial by Dr. Dam and Dr. Vaneman Elizabeth Steiner
Dr. Steve Dam and Dr. Vaneman present "A New Open Standard: Lifecycle Modeling Language (LML) a Language for Simple, Rapid Development, Operations and Support" at the Systems Engineering D.C. Conference (SEDC), April 2014.
Part 1 of a series of 3 webinars sponsored by Adobe (thank you) explaining the need to treat software users as learners in our rapidly changing informational environment. Recording of complete webinar at http://adobe.ly/WpNZQJ
My presentation at Groovy and Grails eXchange 2012. Trying to tease out various issues in the tension between dynamic and static languages on the JVM. Groovy is the only language that can be both a dynamic and a static language.
This presentation gives a brief, semi-technical introduction to Data Distribution Service (DDS) technology from the Object Management Group. The focus is on the business benefits of the technology generally, not on RTI's implementation in particular.
Speed Your Apps Launch to Market: Learn Six Best Practices for DevOpsCompuware APM
Today’s pace of business and competitive pressures are driving organizations to constantly release new applications and features. Organizations are embracing the concept of DevOps to enable apps to be designed, developed and deployed more quickly, at lower cost and with fewer problems. New technology and best practices can help propel organizations towards a successful DevOps model.
Join featured industry experts from Forrester Research Inc. and Compuware dynaTrace to learn:
• Six Steps IT Ops Can Take To Build A Tighter Relationship With Development Groups
• How to identify hidden dependencies and unforeseen risks
• Overview of current and future tools used in DevOps environments
On Concurrency and Parallelism in the JVMverseRussel Winder
Slides for my session at JAX London 2018.
Be aware I did a lot of writing over the slides during the session do the slides are not that useful. Find the video.
On the Architectures of Microservices: the next layerRussel Winder
My µCon 2016 session presentation slides. This was about introducing PGAS (partitioned global address space) as a new architectural form for use in microservices systems. As always I draw on the slides as I speak and this is not captured here, you need to watch the video https://skillsmatter.com/skillscasts/8737-on-the-architectures-of-microservices-the-next-layer
Slides from my PyConUK 2016 session on not using Python fpr computation. Chapel is introduced as an option in a microservices approach. The codes displayed were from https://github.com/russel/Pi_Quadrature
Keynote presentation at PPIG 2015, Bournemouth 2015-07-17.
Presenting experiences of running workshops for programmers to learn new programming languages, and programmers to improve knowledge of programming languages they already use, with an emphasis and feeding ideas and questions into the psychology of programming community.
Making Computations Execute Very QuicklyRussel Winder
Presentation at PyData London 2015, 2015-06-20. Putting forward the proposal not to use Cython, NumPy and Numba to speed up Python computations, but to use C++, or better D or Chapel in a polyglot programming approach.
Code used as examples comes from https://github.com/russel/Pi_Quadrature
Java is Dead, Long Live Ceylon, Kotlin, etcRussel Winder
Slides from my DevoxxUK 2015 presentation. Compare and contrast of JVM-based strongly-typed, statically compiled languages: Java, Ceylon, Kotlin, Scala, Frege, Groovy.
Code is on GitHub: https://github.com/russel/Pi_Quadrature
A "pitch" to get people aware and interested in the new remoting features of GPars, a concurrency and parallelism framework for Java and Groovy codes. The slides do not really tell much of the session as there was presentation and execution of code, and an attempt to get audience participation in trying some code out.
A session at Groovy and Grails eXchange 2013 investigating whether a language designed as a dynamic language really can be statically typed and compiled.
Dataflow: the concurrency/parallelism architecture you needRussel Winder
An informal investigation/tutorial on the dataflow architecture for Java and Groovy as presented at DevoxxUK 2014.
Code presented is on GitHub: https://github.com/russel/MeanStdDev.git
Some initial experiments to investigate whether further experiments are justified, investigating the performance comparison between Groovy and Java. (Java 8 vs Groovy 2.2.0-SNAPSHOT)
Slides from my ACCU 2013 lightning talk. D is the real winner as the functions work out of the box. The Go code requires lots of extra code. Until std::range exists it is the loser.